/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: user
 * Date: 2023-10-12
 * Time: 18:05
 */
//int Find(int arr[3][3], int r, int c, int k)
//{
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < r; i++)
//	{
//		for (j = 0; j < c; j++)
//		{
//			if (arr[i][j] == k)
//			{
//				return 1;
//			}
//		}
//	}
//	return 0;
//}
//
//int Find(int arr[3][3], int r, int c, int k)
//{
//	int x = 0;
//	int y = c - 1;
//
//	while (x<=r-1 && y>=0)
//	{
//		if (arr[x][y] < k)
//		{
//			x++;
//		}
//		else if (arr[x][y] > k)
//		{
//			y--;
//		}
//		else
//		{
//			return 1;
//		}
//	}
//	return 0;
//}
//
//int main()
//{
//	int arr[3][3] = { 1,2,3, 4,5,6, 7,8,9 };
//	int k = 0;
//	scanf("%d", &k);//7
//	int ret = Find(arr, 3, 3, k);//存在返回1，如果不存在返回0
//	if (ret == 1)
//		printf("Yes\n");
//	else
//		printf("No\n");
//
//	return 0;
//}
//


//
//int Find(int arr[3][3], int *px, int *py, int k)
//{
//	int x = 0;
//	int y = *py - 1;
//
//	while (x <= *px - 1 && y >= 0)
//	{
//		if (arr[x][y] < k)
//		{
//			x++;
//		}
//		else if (arr[x][y] > k)
//		{
//			y--;
//		}
//		else
//		{
//			*px = x;
//			*py = y;
//			return 1;
//		}
//	}
//	*px = -1;
//	*py = -1;
//	return 0;
//}
//
//int main()
//{
//	int arr[3][3] = { 1,2,3, 4,5,6, 7,8,9 };
//	int k = 0;
//	int x = 3;
//	int y = 3;
//	scanf("%d", &k);//7
//	int ret = Find(arr, &x, &y, k);//存在返回1，如果不存在返回0
//	if (ret == 1)
//	{
//		printf("Yes\n");
//		printf("%d %d\n", x, y);
//	}
//	else
//	{
//		printf("No\n");
//		printf("%d %d\n", x, y);
//	}
//
//
//	return 0;
//}
//

//int main()
//{
//	int aa[2][5] = { 10,9,8,7,6,5,4,3,2,1 };
//	int* ptr1 = (int*)(&aa + 1);
//	int* ptr2 = (int*)(*(aa + 1));
//	printf("%d,%d", *(ptr1 - 1), *(ptr2 - 1));
//	return 0;
//}

//int main()
//{
//	int a[5] = { 5, 4, 3, 2, 1 };
//	int* ptr = (int*)(&a + 1);
//	printf("%d,%d", *(a + 1), *(ptr - 1));
//	return 0;
//}

//int main()
//{
//	int arr1[] = { 1,2,3,4,5 };
//	int arr2[] = { 2,3,4,5,6 };
//	int arr3[] = { 3,4,5,6,7 };
//
//	int* arr[3] = {arr1, arr2, arr3};
//
//	int i = 0;
//	for (i = 0; i < 3; i++)
//	{
//		int j = 0;
//		for (j = 0; j < 5; j++)
//		{
//			//printf("%d ", *(arr[i] + j));
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//	return 0;
//}

        #include <stdlib.h>
//
//int main()
//{
//	//int arr1[] = { 1,2,3,4,5 };
//	//int arr2[] = { 2,3,4,5,6 };
//	//int arr3[] = { 3,4,5,6,7 };
//
//	//int* arr[3] = { arr1, arr2, arr3 };
//	//动态开辟的方式，模拟实现了二维数组
//	int **arr = (int**)malloc(3*sizeof(int*));
//
//	int i = 0;
//	for (i = 0; i < 3; i++)
//	{
//		*(arr + i) = (int*)malloc(5*sizeof(int));
//	}
//	//初始化
//	for (i = 0; i < 3; i++)
//	{
//		int j = 0;
//		for (j = 0; j < 5; j++)
//		{
//			arr[i][j] = 1;
//		}
//	}
//	//打印
//	for (i = 0; i < 3; i++)
//	{
//		int j = 0;
//		for (j = 0; j < 5; j++)
//		{
//			printf("%d ", arr[i][j]);
//		}
//		printf("\n");
//	}
//
//	//释放
//	for (i = 0; i < 3; i++)
//	{
//		free(arr[i]);
//	}
//	free(arr);
//	arr = NULL;
//
//	return 0;
//}


//int main()
//{
//	typedef struct {
//		int a;
//		char b;
//		short c;
//		short d;
//	}AA_t;
//
//	printf("%d\n", sizeof(AA_t));
//	return 0;
//}


